package com.longbig.multifunction.dto;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;
import java.io.File;
import java.math.BigDecimal;

@Data
public class ProjectInfo {

    @ApiModelProperty(value = "建档立卡项目编码")
    @ExcelProperty("projectCode")
    private String projectCode;

    @ApiModelProperty(value = "电力交易中心项目ID")
    @ExcelProperty("exchangeId")
    private String exchangeId;

    @ApiModelProperty(value = "建档立卡项目名称")
    @ExcelProperty("projectName")
    private String projectName;

    @ApiModelProperty(value = "省份")
    @ExcelProperty("provinceName")
    private String province;

    @ApiModelProperty(value = "市")
    @ExcelProperty("cityName")
    private String city;

    @ApiModelProperty(value = "县")
    @ExcelProperty("countyName")
    private String county;

    @ApiModelProperty(value = "项目地址")
    @ExcelProperty("address")
    private String address;

    @ApiModelProperty(value = "卖方类型 1、个人 2、企业")
    @ExcelProperty("ownerType")
    private String ownerTypeOrigin;

    @ApiModelProperty(value = "企业统一社会信用代码/项目业主身份证")
    @ExcelProperty("ownerCode")
    private String ownerCode;

    @ApiModelProperty(value = "企业名称/项目业主姓名")
    @ExcelProperty("ownerName")
    private String ownerName;

    @ApiModelProperty(value = "发电企业/项目业主联系方式")
    @ExcelProperty("ownerTel")
    private String ownerTel;

//    @ApiModelProperty(value = "统一绿证账户编码")
//    @Size(message = "统一绿证账户编码长度不能大于13",min = 0,max = 13)
//    private String gecUniqueCode;

    @ApiModelProperty(value = "发电类型 取值参考建档立卡项目编码第二个字段\n" +
            "水力发电H、风力发电为W、太阳能发电为P、一体化项目为I、生物质发电为B、地热项目为G、海洋能O、其他为E")
    @ExcelProperty("projectType")
    private String projectType1;

    @ApiModelProperty(value = "发电子类型： 取值参考建档立卡项目编码第三个字段\n" +
            "水利发电：【常规水电H、抽水蓄能P】;\n" +
            "风力发电：【陆上集中式为C、陆上分散式为D、海上发电为S】；\n" +
            "太阳能发电：【光伏电站为C，分布式光伏发电为D，自然人户用为F，太阳能热发电S】；\n" +
            "生物质能发电：【农林生物质直燃为B、垃圾焚烧为W、沼气发电为G】；\n" +
            "海洋能发电：【波浪能发电W，潮汐能发电T、其他E】;\n" +
            "一体化项目：【风光一体化为I】；\n" +
            "地热非发电：【浅层地热为S，中深层地热为M，深层地热为P】;其他为E。")
    @ExcelProperty("projectSubType")
    private String projectSubType1;

    @ApiModelProperty(value = "项目并网容量")
//    @NotEmpty(message = "项目并网容量不能为空",groups = {Group1.class,Group2.class})
    @ExcelProperty("projectSize")
    private BigDecimal projectSize;

    @ApiModelProperty(value = "发电户号")
    @ExcelProperty("accountNum")
    private String accountNum;

    @ApiModelProperty(value = "并网时间")
    @ExcelProperty("gridDate")
    private String gridDate;

    @ApiModelProperty(value = "是否补贴项目 0：补贴 1：无补贴 2：待纳入")
    @ExcelProperty("subsidyProject")
    private String subsidyProject1;

    @ApiModelProperty(value = "电力交易中心机构系统编码")
    @ExcelProperty("sysCode")
    private String sysCode;

    @ApiModelProperty(value = "项目接入电网名称")
    @ExcelProperty("gridName")
    private String gridName;

    @ApiModelProperty(value = "项目业主变更年月")
    @ExcelProperty("ownerChangeTime")
    private String ownerChangeTime;

    @ApiModelProperty(value = "项目接网类型 0：并网，1：离网，:2：公共独立，3：其他")
    @ExcelProperty("projectRunStatus")
    private Integer projectRunStatus;

    @ApiModelProperty(value = "项目状态 0：核准备案\n" +
            "1：开工建设\n" +
            "2：投产运行\n" +
            "3：项目退役")
    @ExcelProperty("projectStatus")
    private String projectStatus1;

//    @ApiModelProperty(value = "记录类型 1：新增、2：更新、3：注销")
//    private Integer recordStatus;

    @ApiModelProperty(value = "拆分依据")
    @ExcelProperty("splitVoucher")
    private String splitVoucher;

//    @ApiModelProperty(value = "附件")
//    private File attachment;


//    @ApiModelProperty(value = "推送至资质中心状态")
//    private Integer pushToZzStatus;

}
